As the value and use of information continues to increase, individual and businesses seek additional ways to process and store information. One storage option available to users is an information handling system. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, store, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
U.S. Pat. No. 6,052,759 to Stallmo et al. describes a redundant array of independent disks (“RAID”) system adapted to host input-output (“I/O”) traffic. The RAID configuration of Stallmo is hidden from the host computer. The Stallmo system uses various methods for disk striping and data organization across the arrays when the disks are added or removed. The system of Stallmo dynamically determines the RAID configuration used to store host data. The system of Stallmo is useful for situations where the disks have unequal storage capacity and the data needs to be distributed to different RAID formats depending on the size of the rectangles containing the sets of storage on the disk. Such a situation is encountered when some disks are in RAID 1 configuration, other disks are in RAID 3 configuration, and still other disks are in RAID 5 configurations.
U.S. Pat. No. 6,338,110 B1 to van Cruyningen describes a data storage system having multiple storage channels and one or more controllers. The van Cruyningen system contains a partitioning mechanism and essentially partitions the storage channels using a set of programmable switches.
U.S. Pat. No. 6,321,292 B1 to Perry teaches of a method for converting between logical and physical memory spaces that adapts to different RAID types and configurations in a modularized form. The teachings of Perry are useful for reconfiguring logical and physical memory space within a RAID system.
U.S. Pat. No. 6,289,398 B1 to Stallmo et al. discloses a RAID-compatible data storage system that allows incremental increases in storage capacity that is proportional to the increase in the storage capacity. This particular system is unusual in that it does not require changes to the host system. Instead of changes to the host system, the controller implements functions that were previously performed by a single or redundant central data storage controller. The controller functions are distributed among a number of modular controller units. Each of the modular controller units is physically coupled to a data storage device to form a basic, low-cost integrated storage node.
U.S. Pat. No. 6,279,898 B1 to DeKoning discloses a method and structure for defining partitions within a RAID storage system such that each partition is managed in accordance with RAID management techniques that are independent of the partitions. According to DeKoning, the total data storage of the logical unit is subdivided and mapped into a plurality of partitions that are referred to as “partitions.” Initially, each partition is configured and mapped to run as a RAID level 1 mirrored storage area. However, as performance and storage capacity needs are measured for each partition, a partition of the system may be reconfigured to use a different RAID level, i.e., level 3 or level 5, to reduce overall storage needs and the cost of decreasing RAID performance. Later, a partition may be returned to the RAID level 1, as performance needs increase. According to DeKoning, each partition is managed in accordance with its own RAID level of management.
U.S. Pat. No. 6,023,780 to Iwatani provides a disk array apparatus that checks and determines that if there is a contradiction in the matching of parity data during a read parity check, then the correct host data is restructured such that it can always be transferred to the host. For example, if a disk array implements a RAID level 3, then the disk array apparatus adds cyclic redundancy check (“CRC”) data to the data that is transferred from the host computer, divides the data, generates parity from the divided data, and then stores the data and the parity data onto the disk drives. According to Iwatani, during a read operation, the disk array apparatus executes a read parity check. If there is a contradiction detected between the parity data stored in the disk drives and the parity data generated during the read parity check, then the disk array controller sequentially assumes, by one disk drive at a time, that one of the disk drives is storing erroneous data. The controller then restructures the host data from the divided data and parity data of the disk drives other than the disk drives storing the assumed erroneous data, and executes a CRC check on the restructured host data for each assumption.
U.S. Pat. No. 5,960,451 to Voight et al. provides a data storage system that includes an administrator tool that presents an existing Logical Unit Number (“LUN”) arrangement that is composed of one or more types of LUNs and the available capacity for the existing LUN arrangement. The administration tool in Voight provides a graphical user interface that allows the administrator to proposed alternate configurations with either one or more additional virtual or hypothetical LUNs without, in fact, creating them. The graphical user interface of Voight provides a set of controls that is representative of the different LUN types. This allows the administrator to graphically manipulate the controls to vary characteristics of the hypothetical LUNs.
U.S. Pat. No. 5,835,694 to Hodges provides a data processing system that includes a host processor or server and a connection to an array of disk drives, all on a network. In Hodges, each disk drive stores an array configuration page that includes data that identifies the logical memory segment size, the first identifier for the disk drive that incorporates the respective memory segment, and a second identifier for the last disk drive which stores parity for the parity setting, including the logical memory segment. Each disk drive, according to Hodges, includes a controller for determining, from the logical memory segment size and the second identifier, which logical memory segment in the respective memory stores the parity data. According to Hodges, the controller responds to an address accompanying the read or write command by mapping the address for a logical memory segment other than the logical memory segment in the respective memory which stores the parity data. Moreover, on performing a write action to a logical memory segment, the controller in Hodges communicates directly with the disk drive that stores parity for the parity set of which the logical memory segment is a part, and thereby causes an update of that parity segment in accordance with the write action.
U.S. Pat. No. 5,882,782 to Humlicek et al. provides a RAID subsystem with improved performance by storing configuration identification information on a reserved area of each disk drive in the subsystem. The reserved area in each disk drive of the disk array contains a unique identifier to identify the particular disk drive from all others and further contains group and configuration information regarding all groups of which the particular disk drive is a member. The configuration identification information is generated and written to each disk drive in the disk array when the particular disk drive is configured, so as to be added or deleted from groups of the subsystem. For situations such as a subsystem reset (e.g., from a power on reset, or other reset operations), the RAID controller in the subsystem determines the proper configuration of the RAID groups, despite temporary unavailability or physical relocation of one or more of the disk drives in the disk array. In addition, entire groups of disk drives may be moved from one subsystem to another and automatically recognized by the new controller when the new controller is reset.
While the prior art exhibits certain functionality of RAID systems, it fails to provide a RAID system other than one having uniform devices for storage. In other words, each hard disk used in the RAID system must be provided from the same manufacturer so that the disk configuration information can be accommodated by the RAID controller. This places a constraint on manufacturers of RAID systems and upon manufacturers of RAID controllers. Many possible combinations of controller and disks could be used, but for the constraint of uniform storage devices. There is, therefore, a need in the art for a RAID storage system without the constraints of uniform storage devices andlor requirements for specific controllers for those storage devices.